<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
    建立TCP连接(客户端和服务器之间的传输通道就打通了)和HTTP报文

    三次握手

    1、浏览器需要发送一个SYN码给服务器，告诉服务器我要和你建立连接
    2、服务器接收到SYn码之后，服务器在给客户端发送一个SYN+ACK码，告诉客户端咱们客户建立连接
    3、客户端收到ACK码之后验证是否正确，如果正确，在向服务端发送一个ACK码，告诉服务端好的，咱们马上建连接吧

    到此连接通道已经创建好了


    HTTP报文
    - 请求报文：所有经过传输协议，客户端发送给服务端的内容，都是请求报文
        + 起始行
        + 请求头
        + 请求体
    - 响应报文: 所有经过传输协议，服务端响应给客户端内容，都是响应报文
        + HTTP状态码
        + 响应头
        + 响应体

    HTTP报文 ： 请求报文 + 响应报文


    HTTp状态码，他代表了当前请求的状态
    - 200: 成功
    - 201：一般应用于告诉服务器创建一个新的文件，最后服务器的返回的状态码就是201
    - 204：若服务器拒绝对PUT、POST或者DELETE请求返回任何状态信息或表示，那么通常采用此响应代码

    - 301：永久重定向 一般用于域名的迁移
    - 302：临时转移(临时重定向) 服务器的负载均衡 ，现在这个功能是返回307了(以后307代表临时转移的意思)

    - 304：设置HTTP的协商缓存

    - 400 ：给服务器传递的参数是错误的 
    - 401: 没有权限访问
    - 404：请求地址错误

    - 500: 服务器的未知错误
    - 503：服务器超负荷
     */

     /* 
     200 304 404 500 503
      */
  </script>
</body>
</html>